跳到主要内容

导入DZO SDK (IMPORT DZO SDK)

步骤 1:

  • DzoSDK-release.aar 复制到文件夹 {Project}/app/libs
  • SDKConfig.json 复制到文件夹 {Project}/app/src/main/assets
  • 添加 build.grade(Module.app) 的依赖
dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])

// --- DzoSDK Library --- //
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'

implementation 'com.android.volley:volley:1.2.1'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.10'
implementation 'com.facebook.android:facebook-android-sdk:17.0.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.google.android.gms:play-services-auth:21.2.0'

implementation "com.android.billingclient:billing:7.1.0"
implementation "com.android.installreferrer:installreferrer:2.2"

implementation 'com.appsflyer:af-android-sdk:6.5.0'

implementation 'com.google.android.play:review:2.0.1' // => Rating App

implementation platform('com.google.firebase:firebase-bom:33.6.0')
implementation 'com.google.firebase:firebase-auth'
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-dynamic-links'

implementation 'androidx.work:work-runtime:2.9.1'
// ------------------------- //


}

apply plugin: 'com.google.gms.google-services' // --- Add this at bottom ---
  • 添加build.grade(Project) 的依赖
    buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.0-alpha06'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:4.3.15' // google-services plugin
}
}

allprojects {
repositories {
google()
mavenCentral()
}
}

步骤 2: 配置 Firebase

  • 添加Firebase配置文件(重要
    • 将配置文件 (google-services.json) 移动到应用程序的模块 (app-level) 目录 ({Project}/app/)
  • 在 AndroidManifest 中,添加以下行:
<application ...>
...
<service
android:name="vn.dzogame.library.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
...
</application>

## 步骤 3:

- 在 `{Project}/app/src/main/res/values` 文件侠中配置 **strings.xml** 文件 (例如)

```xml
<resources>

<string name="app_name">{YOUR_APPNAME}</string> <!-- Ex: Demo App -->

<string name="useDefaultButtonDzoHome">true</string>
<string name="useDefaultTag18Plus">true</string>
<string name="useDefaultBroadcast">true</string>

<string name="facebook_app_id">{YOUR FB APP ID}</string> <!-- Ex: 123456 -->
<string name="fb_login_protocol_scheme">fb{YOUR FB APP ID} </string> <!-- Ex: fb123456 -->
<string name="facebook_client_token">{YOUR FB CLIENT TOKEN} </string> <!-- Ex: 123456 -->
<string name="fb_ContentProvider">com.facebook.app.FacebookContentProvider{YOUR FB APP ID}</string> <!-- Ex: com.facebook.app.FacebookContentProvider123456-->

<string name="google_web_client_id">{YOUR GOOGLE WEB CLIENT ID}</string>

<string name="useAppsFlyerTracking">true</string>
<string name="AppsFlyer_DevKey">{AppsFlyer_DevKey}</string>

<string name="useFirebase">true</string>
<string name="useFirebaseTracking">true</string>
<string name="firebase_default_notification_channel_id">{BundleID}.urgent</string> <!-- Ex: com.test.app.urgent -->
...
</resources>

步骤 4: 活动生命周期 (Activity lifecycle)

  • 将代码添加到 您的Activity中的 onActivityResult()

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(DzoSDK.TAG, "onActivityResult >>> requestCode:" + requestCode + " | resultCode: " + resultCode);
super.onActivityResult(requestCode, resultCode, data);

DzoSDK.GetInstance().OnActivityResult(requestCode, resultCode, data); // <== Add this code
}

步骤 5:

  • 将此代码添加到 Activity 中的函数 onCreate() 以初始化 DzoSDK:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_login);

// ------ Init DzoSDK ------- //
if(!DzoSDK.GetInstance().IsConnected()){
DzoSDK.GetInstance().Init(this, new DzoInitCallback() {
@Override
public void OnInitSuccess() {
// --- Init Successful --- //
// … Your code … //
DzoSDK.GetInstance().Login(); // After Init SDK Successful, you can call Login.
}
@Override
public void OnLoginSuccess() { // Callback Login Successful, change NEXT SCENE
// --- Login Successful --- //
// => Init IAP Products and Dzovi Products
// … Your code … //
}
@Override
public void OnLogoutSuccess() { // Callback Logout Successful, you need to change LoginActivity
// --- Logout Successful --- //
// … Your code … //
}
@Override
public void OnDebugLog(boolean _isLogError, String _tag, String _msg) {
if (_isLogError){
Log.e(_tag, _msg);
}else {
Log.d(_tag, _msg);
}
}
});
} else {
DzoSDK.GetInstance().Login();
}
// -------------------------- //

// … Your code … //
}